#ifndef _CCALENDAR_H_
#define _CCALENDAR_H_

#include "auto.h"

#include "ccalendarevent.h"

#include <buola/image/ccolor.h>
#include <buola/io/curi.h>

namespace buola { namespace bcal {

class CCalendar
{
public:
    enum EType
    {
        TYPE_LOCAL,
        TYPE_FILE,
        TYPE_NETWORK
    };

    CCalendar();
    virtual ~CCalendar();

    virtual img::CColor GetColor()=0;
    virtual std::wstring GetName()=0;
    virtual EType GetType()=0;

    void GetEventsBetween(std::vector<CCalendarEvent*> &pEvents,
                        const CCalendarTime &pFrom,const CCalendarTime &pTo);

    void AddEvent(CCalendarEvent *pEvent);

private:
    std::vector<CCalendarEvent*> mEvents;

};

/*namespace buola*/ } /*namespace bcal*/ }

#endif
